package cn.hss.object;

import java.util.Arrays;

/**定义类Student，包含三个属性：学号number(int)，
 * 年级state(int)，成绩score(int)。
 * 创建20个学生对象，学号为1到20，年级和成绩都由随机数确定。
 问题一：打印出3年级(state值为3）的学生信息。
 问题二：使用冒泡排序按学生成绩排序，并遍历所有学生信息
 * @author 作者：HeShaoShuai
 * @Email 邮箱：2569819541@qq.com
 * @Date 日期：2023/4/25 17:02
 * @Package 包名：cn.hss.object
 * @Project 项目名：JavaSE
 * @Version 1.0
 */
public class StudentTest {
	public static void main(String[] args) {
		Student stu1 = new Student();
//        stu1.number=1;
//        stu1.state=(int)(Math.random()*6+1);
//        stu1.score=(int)(Math.random()*101);
//        stu1.info();
		//使用对象数组实现
		//创建数组
		Student[] stu=new Student[20];
		//System.out.println(Arrays.toString(stu));
		//通过循环给数组元素赋值
		for(int i=0;i<stu.length;i++){
			//数组元素赋值
			stu[i]=new Student();
			//数组元素是一个对象，给对象的各个属性赋值
			stu[i].number=(i+1);
			stu[i].state=(int)(Math.random()*6+1);
			stu[i].score=(int)(Math.random()*101);
		}
		//System.out.println(Arrays.toString(stu));
		//问题一：打印出3年级(state值为3）的学生信息
		for(int i=0;i< stu.length;i++){
			if(stu[i].state==3){
				stu[i].info();
			}
		}
		System.out.println("********************************");
		//问题二：使用冒泡排序按学生成绩排序，并遍历所有学生信息
		for(int i=0;i< stu.length-1;i++){
			for(int j=0;j<stu.length-1-i;j++){
				if(stu[j].score>stu[j+1].score){
					Student s=stu[j];
					stu[j]=stu[j+1];
					stu[j+1]=s;
				}
			}
		}
		//遍历数组
		for (Student s:stu) {
			s.info();
		}
	}
}
